﻿namespace K9Nano.Reporting;

public interface IReportStore
{
    Task SaveAsync(Report report, CancellationToken cancellation);

    Task<Report?> GetAsync(int id, CancellationToken cancellation);

    Task DeleteAsync(int id, CancellationToken cancellation);

    Task<IEnumerable<ReportSummary>> GetAllReportsAsync(CancellationToken cancellation);

    Task<bool> SetStatusAsync(int id, bool isEnabled, CancellationToken cancellation);
}